@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

echo ========================================
echo    教学平台一键启动脚本
echo ========================================
echo.

:: 检查必要的工具是否安装
echo [1/6] 检查环境依赖...
echo.

:: 检查Java
java -version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误: 未检测到Java环境
    echo 请先安装Java 17或更高版本
    echo 下载地址: https://adoptium.net/
    pause
    exit /b 1
) else (
    echo ✅ Java环境检查通过
)

:: 检查Node.js
node --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误: 未检测到Node.js环境
    echo 请先安装Node.js 16或更高版本
    echo 下载地址: https://nodejs.org/
    pause
    exit /b 1
) else (
    echo ✅ Node.js环境检查通过
)

:: 检查Python
python --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误: 未检测到Python环境
    echo 请先安装Python 3.8或更高版本
    echo 下载地址: https://www.python.org/
    pause
    exit /b 1
) else (
    echo ✅ Python环境检查通过
)

:: 检查Maven
mvn --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误: 未检测到Maven环境
    echo 请先安装Maven 3.6或更高版本
    echo 下载地址: https://maven.apache.org/
    pause
    exit /b 1
) else (
    echo ✅ Maven环境检查通过
)

echo.
echo [2/6] 安装前端依赖...
cd /d "%~dp0xht-teach-admin"
if not exist "node_modules" (
    echo 正在安装前端依赖包...
    npm install
    if %errorlevel% neq 0 (
        echo ❌ 前端依赖安装失败
        pause
        exit /b 1
    )
) else (
    echo ✅ 前端依赖已存在，跳过安装
)

echo.
echo [3/6] 安装AI服务依赖...
cd /d "%~dp0ai-teach-platform"
if not exist "venv" (
    echo 正在创建Python虚拟环境...
    python -m venv venv
    if %errorlevel% neq 0 (
        echo ❌ Python虚拟环境创建失败
        pause
        exit /b 1
    )
)

echo 正在激活虚拟环境并安装依赖...
call venv\Scripts\activate.bat
pip install -r requirements.txt
if %errorlevel% neq 0 (
    echo ❌ AI服务依赖安装失败
    pause
    exit /b 1
)

echo.
echo [4/6] 编译Java后端...
cd /d "%~dp0teach-platform"
echo 正在编译Java项目...
mvn clean compile
if %errorlevel% neq 0 (
    echo ❌ Java项目编译失败
    pause
    exit /b 1
)

echo.
echo [5/6] 启动服务...
echo 正在启动所有服务，请稍候...

:: 启动Java后端 (在后台运行)
echo 启动Java后端服务...
start "Java Backend" cmd /k "cd /d "%~dp0teach-platform" && mvn spring-boot:run"

:: 等待Java服务启动
echo 等待Java服务启动...
timeout /t 10 /nobreak >nul

:: 启动AI服务 (在后台运行)
echo 启动AI服务...
cd /d "%~dp0ai-teach-platform"
start "AI Service" cmd /k "call venv\Scripts\activate.bat && python -m uvicorn app.main:app --host 0.0.0.0 --port 8001 --reload"

:: 等待AI服务启动
echo 等待AI服务启动...
timeout /t 5 /nobreak >nul

:: 启动前端服务 (在后台运行)
echo 启动前端服务...
cd /d "%~dp0xht-teach-admin"
start "React Frontend" cmd /k "npm start"

echo.
echo [6/6] 启动完成！
echo ========================================
echo 🎉 所有服务已启动成功！
echo.
echo 📱 前端地址: http://localhost:3000
echo 🔧 Java后端: http://localhost:8080
echo 🤖 AI服务: http://localhost:8001
echo.
echo 💡 提示:
echo - 前端会自动在浏览器中打开
echo - 如需停止服务，请关闭对应的命令行窗口
echo - 如需查看日志，请查看各个命令行窗口的输出
echo.
echo ========================================
echo 按任意键退出启动脚本...
pause >nul

:: 自动打开浏览器
start http://localhost:3000 